Release 10.1A: OpenEdge Development:
Web Services
Invoking a method with a TABLE parameter (RPC/Encoded)
To invoke a method that passes a
TABLEparameter, the client application typically must:This the Progress 4GL prototype for a sample method,
staticTT( ), that passes aTABLEparameter:
This is the RPC/Encoded WSDL request message for the
staticTT( )method, which has aTABLEparameter,ttEmp. The parameter, ttEmp, is a SOAP array of rows (ttEmpRow) defined in theTypessection of the WSDL:
The following are the WSDL row and SOAP array definitions for the
TABLE:
As a point of comparison here is the RPC/Literal and Document/Literal representation of this same
TABLEparameter definition in WSDL:
This is the declaration for a VB.NET client interface method,
staticTT( ), which has aTABLEparameter,ttEmp, passed as the class,staticTT_ttEmpRow:
The following client code defines a two row array (
myTempTable) according to a defined schema (staticTT_ttEmpRow), then defines and creates two rows assigned with values. It then initializes the array (asTABLE,ttEmp) with the two rows and passes it to thestaticTT( )interface method, which passes theTABLEto the Web service:
The following is an RPC/Encoded SOAP message that this call to
staticTT( )might send:
Note: The
staticTT( )method must send the object ID for theEmployeeAppObject in the SOAP request header becausestaticTT( )is a method on the session-managed AppObject.As a point of comparison, the following is a Document/Literal SOAP message that this call to
staticTT( )might send:
Note: The
staticTT( )method must send the object ID for theEmployeeAppObject in the SOAP request header becausestaticTT( )is a method on the session-managed AppObject.
|
Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |